package com.zhang.mapper;
import com.zhang.pojo.MainBean;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;

/**
 * 主帖数据持久层接口
 */
public interface IMainMapper {

    /**
     * 动态条件查询，标题名、作者、起始时间、结束时间根据频道id查询该频道所有主帖，并查询回帖数
     * @param channelId  频道id
     * @param name 主贴名
     * @param author 作者
     * @param start 起始时间
     * @param end 结束时间
     * @return 主帖集合
     */
    List<MainBean> findByChannelId(@Param("channelId") int channelId,
                                   @Param("name") String name,
                                   @Param("author")String author,
                                   @Param("start")LocalDate start,
                                   @Param("end")LocalDate end);

    /**
     * 添加主帖
     * @param mainBean 主帖对象
     * @param userId 用户id
     * @param channelId 频道id
     */
    void addMain(@Param("mainBean") MainBean mainBean,
                 @Param("userId") int userId,
                 @Param("channelId") int channelId);

    /**
     * 根据主帖id查询主帖对象
     * @param mainId 主帖id
     * @return 主帖对象
     */
    MainBean findById(int mainId);
}
